<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>let 使用注意事项和细节</title>
    <script type="text/javascript">

        //与var相比，let更加严谨
        {
            //let细节1
            //(1)let 声明的变量在代码块中，则作用域在代码块中
            //(2)var 声明的变量在代码块中，但作用域没有限制

            var name="gz"
            let job="java工程师"
            console.log("name=",name) //可以显示
            console.log("job=",job) //可以显示
        }
        console.log("name=",name)//可以显示
        console.log("job=",job) //job is not defined(即不可以显示)

        //let细节2
        //var变量 可以使用多次
        //let变量 只能使用一次
        var a=100
        var a=200
        console.log(a) //200

        let b=100
        let b=200
        console.log(b)//Uncaught SyntaxError:   Syntax->语法
                      // Identifier 'b' has already been declared

        //let细节3
        //1.let不存在变量提升
        //2.var存在变量提升

        console.log("x",x) //undefined 相当于 var x(没有赋值); console.log("x",x)
        var x=100

        console.log("v",v)
        let v=100 //Uncaught SyntaxError: Unexpected end of input
    </script>
</head>
<body>

</body>
</html>